lsx is an alternative directory lister, for directories with many files with the same basename(s) but with different extensions, for example directories containing C programming projects.
By default, lsx recognizes the extensions .h .c .obj, but is configurable (see -x option) to any set of 1-10 extensions.
lsx writes directory contents to standard output.
lsx writes error messages to standard error.
For example, if the current directory contains:
TRANS.C TCOLS.OBJ MAKEFILE TCOLS.C TROWS.C EVAL.H TREE.H TREE.OBJ PARSER.OBJ TRANS.OBJ TESTCOLS (dir) TESTROWS (dir) EVAL.OBJ PARSER.C TROWS.OBJ EVAL.C TRANS.H PARSER.H TREE.C
then the command:
lsx -f -d
prints the following:
EVAL .H .C .OBJ PARSER .H .C .OBJ TCOLS .C .OBJ TRANS .H .C .OBJ TREE .H .C .OBJ TROWS .C .OBJ MAKEFILE TESTCOLS (dir) TESTROWS (dir)
-f : Also list files that don't have sought extensions.
-d : Also list directories.
-x=ext/ext/... : Set (up to 10) extensions to be recognized.
(Don't include . in extensions.)
For, say, a directory with a Modula-2 programming project,
you could use the command:
lsx -x=def/mod/obj
-r : List read-only files in red, others in green. (Requires the ANSI.SYS driver to be loaded. Check your config.sys file.)
-v : Print version banner and usage info to standard error (or logfile, if given), then exit.
lsx handles directories of up to 200 entries.